iT邦幫忙

2021 iThome 鐵人賽

DAY 8
1

我們寫程式,很多時候是想要用電腦做一些複雜的計算。這時候就會需要用到今天我們要來講的主角-算數運算子!

算數運算子

算數運算子包含一般我們從小到大學數學四則運算會用到的運算子(+-*/)再加上 %(取餘數)、遞增運算子、遞減運算子。

運算子 說明
+ 加,變數相加。
- 減,變數相減。
* 乘,變數相乘。
/ 除,變數相除。
% 取餘數,取兩整數相除後的餘數(整數)。

遞減、遞增運算子

在寫程式時,為了程式碼的簡潔與方便,會使用遞增遞減運算子。

運算子 說明
++ 遞增,會將變數的值 +1。如++aa++會等於a=a+1
-- 遞減,會將變數的值 -1。如--aa--會等於a=a-1

那遞增、遞減運算子放在變數前或變數後,又有甚麼差別呢?其實在運算上會有順序問題!

  • 前置(prefix):++-- 在變數前,表示其變數先加 1 或先減 1,再設定給其他變數。
  • 後置(postfix):++-- 在變數後,表示其變數先設定給其他變數,再加 1 或減 1。

這樣說是不是有點抽象呢?我們來看看程式碼!

#include<stdio.h>
int main(){
	int a = 0, b = 0;
	printf("prefix  a : %d \n", ++a);
	printf("postfix b : %d ", b++);
	return 0;
}

執行後輸出結果:

在這個程式中,我們宣告整數 a 和 b,並給他們一個值是 0。
然後 a 是使用遞增運算子,但屬於前置,b 則是後置。會發現 a 的值等於 1,因為他是先加 1 後再輸出,而 b 的值會等於 0,因為他是先輸出再加 1。
或許,你會懷疑,b 真的有+1嗎?
讓我們加一行程式碼,把 b 純粹再印一次出來:

#include<stdio.h>
int main(){
	int a = 0, b = 0;
	printf("prefix  a : %d \n", ++a);
	printf("postfix b : %d \n", b++);
	printf("now b : %d ", b);
	return 0;
}

輸出結果:


這時候就能清楚發現,b 是有 +1 的!!!

講完了基本的算數運算子,明天再來講講其他有用的運算子吧~


上一篇
【Day 07】C 的輸入輸出函式
下一篇
【Day 09】C 的關係運算子與邏輯運算子
系列文
C 語言的簡單入門30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言